package com.ssy.lingxi.member.merchant.service.web;

import com.ssy.lingxi.common.response.PageData;
import com.ssy.lingxi.common.response.Wrapper;
import com.ssy.lingxi.member.merchant.model.vo.basic.request.OrganizationPageVO;
import com.ssy.lingxi.member.merchant.model.vo.basic.response.MemberRegisterTagVO;
import com.ssy.lingxi.member.merchant.model.vo.basic.response.MemberRightScoreVO;
import com.ssy.lingxi.member.merchant.model.vo.basic.response.UserDetailVO;
import com.ssy.lingxi.member.merchant.model.vo.maintenance.response.MemberOrganizationQueryVO;
import com.ssy.lingxi.member.merchant.model.vo.manage.request.MemberAndRoleIdVO;
import org.springframework.http.HttpHeaders;

/**
 * 会员业务服务接口
 * @author 万宁
 * @version 2.0.0
 * @date 2020-10-23
 */
public interface IMemberCommonBusinessService {

    /**
     * 查询会员平台权益积分、上级会员下的权益积分
     * @param headers Http头部信息
     * @param idVO 接口参数
     * @return 查询结果
     */
    Wrapper<MemberRightScoreVO> getMemberRightPoint(HttpHeaders headers, MemberAndRoleIdVO idVO);

    /**
     * 查询会员标签注册资料
     * @param headers Http头部信息
     * @return 查询结果
     */
    Wrapper<MemberRegisterTagVO> getMemberRegisterTagDetail(HttpHeaders headers);

    /**
     * 查询用户注册资料
     * @param headers Http头部信息
     * @return 查询结果
     */
    Wrapper<UserDetailVO> getUserDetail(HttpHeaders headers);

    /**
     * 分页查询会员组织机构
     * @param headers Http头部信息
     * @param pageVO 接口参数
     * @return 查询结果
     */
    Wrapper<PageData<MemberOrganizationQueryVO>> pageMemberOrganizations(HttpHeaders headers, OrganizationPageVO pageVO);
}
